home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 37 / Amiga Format CD37 (1999-02-16)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-03].iso / +system+ / tools / virus / virus_checkerii / install_virus_checker < prev    next >
Text File  |  1998-12-12  |  14KB  |  495 lines

  1. ;VirusCheckerII's New Installer Script
  2. ;
  3. ;$VER: Virus_CheckerII_Installer v1.01 (20.10.98) ß1998 by Alex van Niel
  4.  
  5.  
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7. ;;;
  8. ;;; Get the version and revision number of file/device/library/OS/etc
  9. ;;;
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11. ;
  12. ; Taken from original Installer Script of Virus_Checker and Virus_CheckerII
  13. ;
  14. ; INPUTS: Item    ; Name of device/file/library/etc. "" for OS version
  15. ;
  16. ; OUTPUTS: VerN        ; (long) version/revision number
  17. ;          Ver        ; Version number
  18. ;          Rev        ; Revision number
  19. ; NOTE: Both Ver and Rev returned as 0 if "WV_Item" does not exist
  20. ;
  21. (procedure WhatVersion
  22.     (
  23.     (if (= VerN "")
  24.         (set VerNum (getversion))        ; For OS
  25.         (set VerNum (getversion VerN)))    ; For other "files"
  26.     (set Ver (/ VerNum 65536))
  27.     (set Rev (- VerNum (* Ver 65536)))
  28.     )
  29. )
  30.  
  31. (procedure P_setvcenv
  32.     (
  33.  
  34.         (set #vcpath_env    (cat
  35.                                 ("setenv Virus_Checker_Path \"%s\"\n" @default-dest)
  36.                                 ("copy env:Virus_Checker_Path envarc: quiet\n")
  37.                             )
  38.         )
  39.  
  40.         (textfile
  41.             (dest "T:VCEnvSet")
  42.             (append #vcpath_env)
  43.         )
  44.  
  45.         (execute "T:VCEnvSet")
  46.         (delete "T:VCEnvSet")
  47.     )
  48. )
  49.  
  50.     (set    #hail        (cat    "VirusCheckerII Installation Utility\n\n"
  51.                                 "VirusCheckerII is ShareWare,\n"
  52.                                 "please consider registering.\n\n"
  53.                                 "VirusCheckerII is (c)1997/1998 by Alex van Niel\n"
  54.                                 "Virus_Checker is (c)1990/1995 by John Veldthuis\n"
  55.                         )
  56.     )
  57.     (set    #fullinstall    "Full Install")
  58.     (set    #update        "Update")
  59.     (set    #where_vc    (cat    "First, please select the directory to put Virus_CheckerII in.\n\n"
  60.                                 "The Installer will create a drawer called \'Virus_CheckerII\' "
  61.                                 "where all the files are put into. You don't need to make "
  62.                                 "one yourself."
  63.                         )
  64.     )
  65.     (set    #whatinstall    (cat    "Would you like to install VirusCheckerII fully "
  66.                                 "or do you want to update a currently installed version?"
  67.                         )
  68.     )
  69.     (set    #installhelp    (cat    "Full Install, installs the complete program, "
  70.                                     "update, installs only the files that are new or not "
  71.                                     "yet present.\n"
  72.                                     "Libraries, the latest brainfile and the main executable "
  73.                                     "are good examples of files that would possibly be copied "
  74.                                     "if they have been changed since the last release."
  75.                             )
  76.     )
  77.     (set    #allfiles        "Copying all files from distribution archive")
  78.     (set    #copyallfiles    (cat    "The Installer is about to copy all the files from the "
  79.                                     "distribution archive to \"%s\". It will not check "
  80.                                     "the versions of the files, so beware.\n\n"
  81.                                     "If you already have installed, VirusCheckerII and want "
  82.                                     "to update it, please press abort, start the installer again and choose "
  83.                                     "update instead."
  84.                             )
  85.     )
  86.     (set    #none            "None")
  87.     (set    #bestplace        (cat    "The best place to have VirusCheckerII started from is from the User-startup "
  88.                                     "that way it can monitor the system as early as possible and allowable. "
  89.                                     "You can also choose WBStartup for easy acces and still a pretty good safety "
  90.                                     "Choose User-Startup if you want to have the installer add a line to your "
  91.                                     "User-Startup, else choose WBStartup and the installer will copy a special "
  92.                                     "icon to the WBStartup drawer, or None if you aren't sure yet and want to decide later."
  93.                             )
  94.     )
  95.     (set    #vcrunfrom        (cat    "To have VirusCheckerII start as early as possible, choose User-Startup "
  96.                                     "and the installer will add a line to your User-Startup. VirusCheckerII will then "
  97.                                     "automatically startup when you boot your system.\n\n"
  98.                                     "To have VirusCheckerII start from your WBStartup, choose the related button. "
  99.                                     "The installer will copy a special icon to the WBStartup and VirusCheckerII will "
  100.                                     "be started when your workbench is launched.\n\n"
  101.                                     "If you aren\'t sure when you want VirusCheckerII to be started, just press None "
  102.                                     "that way you can choose later."
  103.                             )
  104.     )
  105.     (set    #vcrunchoose    "Please choose how/when you want VirusCheckerII to be started...")
  106.     (set    #adddat            "The installer needs to add the following line to your \s:User-Startup\ file\n\n%s")
  107.  
  108.     (set    #copyvcbrain    "Copying VirusChecker.brain")
  109.     (set    #copyxfdlib        "Copying xfdmaster.library")
  110.     (set    #copybguilib    "Copying bgui.library")
  111.     (set    #copyxfddecrs    "Copying XFD external decrunchers, please choose which ones to install")
  112.     (set    #copybblib        "Copying Bootblock.library")
  113.     (set    #copybbfile        "Copying Bootblock.brainfile")
  114.     (set    #copyxvslib        "Copying Xvs.Library")
  115.  
  116.     (set    #copyinglibs    (cat    "The installer is about to install the libraries supplied with this archive into LIBS:, "
  117.                                     "also the bootblock brainfile is about to be copied to L:."
  118.                             )
  119.     )
  120.  
  121.     (set    #copyvcproject    "Copying and Adjusting VirusChecker startup Icon")
  122.     (set    #adjtooltype    "Adjusting ToolType")
  123.     (set    #makevcdir      "Creating VirusCheckerII drawer")
  124.     (set    #skip            "Skip this part")
  125.     (set    #proceed        "Proceed")
  126.     (set    #proceedhelp    (cat    "Press \'Proceed\' to install the part, or press skip if you don't want "
  127.                                     "to install that particular part but do want to continue installing "
  128.                                     "Virus_CheckerII. You could also press Abort Install to stop the complete "
  129.                                     "installation."
  130.                             )
  131.     )
  132.     (set    #upd-guide        "Updating Guide")
  133.     (set    #upd-main        "Updating Virus_CheckerII")
  134.     (set    #upd-brain        "Updating VirusChecker.brain")
  135.     (set    #upd-xvs        "Updating Xvs.Library")
  136.     (set    #updating        (cat    "The installer is about to update Virus_CheckerII in\n"
  137.                                     "\'%s\'.\n"
  138.                                     "Is this correct?\n"
  139.                                     "(If you want to have Virus_CheckerII updated in another directory, "
  140.                                     "then press \'No\' and you will automatically get a requester to "
  141.                                     "choose the correct drawer)\n"
  142.                                     "If you have not installed Virus_CheckerII fully before, then "
  143.                                     "I recommend that you abort this installation for now and choose "
  144.                                     "\'Full Install\' instead."
  145.                             )
  146.     )
  147.     (set    #versions        (cat
  148.                                     "Currently installed versions that might be updated:\n\n"
  149.                                     "Virus_CheckerII v%ld.%ld\n"
  150.                                     "VirusChecker.brain v%ld.%ld\n"
  151.                                     "VirusChecker.guide v%ld.%ld\n"
  152.                                     "Xvs.Library v%ld.%ld\n\n"
  153.                                     "Versions in archive:\n"
  154.                                     "Virus_CheckerII v%ld.%ld\n"
  155.                                     "VirusChecker.brain v%ld.%ld\n"
  156.                                     "VirusChecker.guide v%ld.%ld\n"
  157.                                     "Xvs.Library v%ld.%ld\n"
  158.                                     "(Files that have version 0.0 are in fact not installed)"
  159.                             )
  160.     )
  161.     (set    #install_dir    "Please specify where VirusCheckerII should be installed\n(A drawer will be created here)")
  162.     (set    #update_dir        "Please specify path of already installed VirusCheckerII")
  163.  
  164.     (set    #needtoreset    (cat    "Virus_CheckerII is an Anti Virus utility which is worked upon almost "
  165.                                     "24hrs a day. Though, problems might rise in spite of this. Most of these "
  166.                                     "problems however are caused by not or half reading the documentation. "
  167.                                     "A lot of problems can be solved or even prevented by reading the documenation. "
  168.                                     "I therefore recommend that you read the documentation from front to back. It "
  169.                                     "might happen that some problems are not solved even then, if so, feel free to "
  170.                                     "contact me. How can be found in the documentation.\n\n"
  171.                                     "I personally recommend that you also reset your computer now so that Virus_CheckerII "
  172.                                     "can start properly."
  173.                        )
  174.     )
  175.  
  176.     (set    #yes            "Yes")
  177.     (set    #no                "No")
  178.  
  179. (welcome)
  180. (message #hail)
  181.  
  182. (set    #dofull    (askbool    (default 1)
  183.                             (prompt #whatinstall)
  184.                             (help #installhelp)
  185.                             (choices #fullinstall #update)
  186.                 )
  187. )
  188.  
  189. (if #dofull
  190.  
  191.     (
  192.         (complete    0)
  193.         (message #where_vc)
  194.         (set    #vcpath        (askdir    (prompt #install_dir)
  195.                                     (help @askdir-help)
  196.                                     (default @default-dest)
  197.                             )
  198.         )
  199.  
  200.         (set    @default-dest    (tackon #vcpath "Virus_CheckerII"))
  201.  
  202.         (P_setvcenv)
  203.  
  204.         (    ;copying all the files from the distribution
  205.             (message    (#copyallfiles    @default-dest))
  206.             (copyfiles    (prompt    #allfiles)
  207.                         (source    "")
  208.                         (dest    @default-dest)
  209.                         (all)
  210.                         (infos)
  211.                         (optional nofail askuser )
  212.             )
  213.  
  214.             (complete    45)
  215.  
  216.             (set    #user    (askbool    (default 1)
  217.                                         (prompt #copyinglibs)
  218.                                         (help #proceedhelp)
  219.                                         (choices #proceed #skip)
  220.                             )
  221.             )
  222.  
  223.             (if #user
  224.  
  225.                 (
  226.                     (copylib (prompt #copybblib)
  227.                         (help @copylib-help)
  228.                         (source "libs/Bootblock.library")
  229.                         (dest "LIBS:")
  230.                         (optional nofail askuser)
  231.                     )
  232.  
  233.                     (complete    50)
  234.  
  235.                     (copylib (prompt #copybbfile)
  236.                         (help @copylib-help)
  237.                         (source "l/Bootblock.brainfile")
  238.                         (dest "L:")
  239.                         (optional nofail askuser)
  240.                     )
  241.                     (complete    60)
  242.  
  243.                     (copylib (prompt #copyxfdlib)
  244.                         (help @copylib-help)
  245.                         (source "libs/xfdmaster.library")
  246.                         (dest "LIBS:")
  247.                         (optional nofail askuser)
  248.                     )
  249.  
  250.                     (complete    70)
  251.  
  252.                     (copylib (prompt #copybguilib)
  253.                         (help @copylib-help)
  254.                         (source "libs/bgui.library")
  255.                         (dest "LIBS:")
  256.                         (optional nofail askuser)
  257.                     )
  258.  
  259.                     (complete    80)
  260.  
  261.                     (copyfiles (prompt #copyxfddecrs)
  262.                         (help @copyfiles-help)
  263.                         (source "libs/xfd")
  264.                         (dest "LIBS:xfd")
  265.                         (all)
  266.                         (optional nofail askuser)
  267.                         (confirm)
  268.                     )
  269.  
  270.                     (complete 85)
  271.  
  272.                     (copylib (prompt #copyxvslib)
  273.                         (help @copylib-help)
  274.                         (source "libs/Xvs.library")
  275.                         (dest "LIBS:")
  276.                         (optional nofail askuser)
  277.                     )
  278.  
  279.  
  280.                 )
  281.  
  282.             )
  283.         )
  284.  
  285.         (complete    90)
  286.  
  287.         (
  288.             (message    #vcrunfrom)
  289.             (set    #vc-startup    (askchoice
  290.                                     (prompt #vcrunchoose)
  291.                                     (help #bestplace)
  292.                                     (default 0)
  293.                                     (choices "User-Startup" "WBStartup" #none)
  294.                                 )
  295.             )
  296.             (if (= #vc-startup 0)
  297.                 (
  298.                     (set    #vc-cmd    (tackon @default-dest "Virus_CheckerII"))
  299.                     (startup @app-name    (prompt (#adddat #vc-cmd))
  300.                                         (help @startup-help)
  301.                                         (command #vc-cmd)
  302.                     )
  303.                     (copylib (prompt #copyvcbrain)
  304.                         (help @copylib-help)
  305.                         (source "VirusChecker.brain")
  306.                         (dest "L:")
  307.                         (optional nofail askuser)
  308.                     )
  309.  
  310.                 )
  311.             )
  312.  
  313.             (if (= #vc-startup 1)
  314.                 (
  315.                     (copyfiles    (prompt #copyvcproject)
  316.                                 (help @copylib-help)
  317.                                 (source "VC_II_Project.info")
  318.                                 (dest "SYS:WBStartup/")
  319.                                 (newname "Virus_CheckerII.info")
  320.                                 (optional nofail askuser)
  321.                     )
  322.  
  323.                     (set #vcprojecttool (tackon @default-dest "Virus_CheckerII"))
  324.                     (tooltype
  325.                         (prompt #adjtooltype)
  326.                         (dest "SYS:WBStartup/Virus_CheckerII")
  327.                         (setdefaulttool #vcprojecttool)
  328.                     )
  329.                 )
  330.  
  331.             )
  332.             (if (= #vc-startup 2)
  333.             )
  334.  
  335.             (complete    100)
  336.  
  337.         )
  338.  
  339.     )    ;then statement
  340.  
  341.     (    ;else statement
  342.  
  343.         (complete    0)
  344.  
  345.         (if (= (exists "ENV:Virus_Checker_Path" (noreq)) 1)
  346.  
  347.             (set @default-dest (getenv "Virus_Checker_Path"))
  348.  
  349.             (
  350.                 (set    #updpath    (askdir    (prompt #update_dir)
  351.                                             (help @askdir-help)
  352.                                             (default @default-dest)
  353.                                     )
  354.                 )
  355.                 (set    @default-dest    #updpath)
  356.             )
  357.         )
  358.  
  359.         (set    #userupd    (askbool    (default 1)
  360.                                         (prompt    (#updating    @default-dest))
  361.                                         (help    #upddirhelp)
  362.                                         (choices    #yes    #no)
  363.                             )
  364.         )
  365.  
  366.         (if        (=    #userupd    0)
  367.             (
  368.                 (set    #updpath    (askdir    (prompt #update_dir)
  369.                                             (help @askdir-help)
  370.                                             (default @default-dest)
  371.                                     )
  372.                 )
  373.                 (set    @default-dest    #updpath)
  374.             )
  375.         )
  376.  
  377.         (complete    10)
  378.  
  379.         (if (= (exists "L:VirusChecker.brain" (noreq)) 1)
  380.             (
  381.                 (set    VerN    "L:VirusChecker.brain")
  382.                 (WhatVersion)
  383.                 (set    #brainver    Ver)
  384.                 (set    #brainrev    Rev)
  385.             )
  386.  
  387.             (
  388.                 (set    VerN    (tackon    @default-dest    "VirusChecker.brain"))
  389.                 (WhatVersion)
  390.                 (set    #brainver    Ver)
  391.                 (set    #brainrev    Rev)
  392.             )
  393.         )
  394.  
  395.         (set    VerN    (tackon    @default-dest    "Virus_CheckerII"))
  396.         (WhatVersion)
  397.         (set    #mainver    Ver)
  398.         (set    #mainrev    Rev)
  399.  
  400.         (set    VerN    (tackon    @default-dest    "Virus_Checker.guide"))
  401.         (WhatVersion)
  402.         (set    #guidever    Ver)
  403.         (set    #guiderev    Rev)
  404.  
  405.  
  406.         (set    VerN    "Virus_CheckerII")
  407.         (WhatVersion)
  408.         (set    #main2ver    Ver)
  409.         (set    #main2rev    Rev)
  410.  
  411.         (set    VerN    "VirusChecker.brain")
  412.         (WhatVersion)
  413.         (set    #brain2ver    Ver)
  414.         (set    #brain2rev    Rev)
  415.  
  416.         (set    VerN    "Virus_Checker.guide")
  417.         (WhatVersion)
  418.         (set    #guide2ver    Ver)
  419.         (set    #guide2rev    Rev)
  420.  
  421.  
  422.         (set    VerN    "Libs:Xvs.Library")
  423.         (WhatVersion)
  424.         (set    #xvsver    Ver)
  425.         (set    #xvsrev    Rev)
  426.  
  427.         (set    VerN    "Libs/Xvs.Library")
  428.         (WhatVersion)
  429.         (set    #xvs2ver    Ver)
  430.         (set    #xvs2rev    Rev)
  431.  
  432.         (message    (#versions    #mainver    #mainrev    #brainver    #brainrev    #guidever    #guiderev    #xvsver    #xvsrev    #main2ver    #main2rev    #brain2ver    #brain2rev    #guide2ver    #guide2rev    #xvs2ver    #xvs2rev))
  433.  
  434.         (copylib (prompt #upd-xvs)
  435.             (help @copylib-help)
  436.             (source "libs/Xvs.library")
  437.             (dest "LIBS:")
  438.             (optional nofail askuser)
  439.         )
  440.  
  441.         (copylib    (prompt #upd-guide)
  442.                     (help @copylib-help)
  443.                     (source "Virus_Checker.guide")
  444.                     (dest @default-dest)
  445.                     (optional nofail askuser)
  446.         )
  447.  
  448.         (complete    30)
  449.  
  450.         (copylib    (prompt #upd-main)
  451.                     (help @copylib-help)
  452.                     (source "Virus_CheckerII")
  453.                     (dest @default-dest)
  454.                     (optional nofail askuser)
  455.         )
  456.         (complete    50)
  457.  
  458.         (if (= (exists "L:VirusChecker.brain" (noreq)) 1)
  459.             (
  460.                 (copylib (prompt #upd-brain)
  461.                     (help @copylib-help)
  462.                     (source "VirusChecker.brain")
  463.                     (dest "L:")
  464.                     (optional nofail askuser)
  465.                 )
  466.                 (copylib (prompt #upd-brain)
  467.                     (help @copylib-help)
  468.                     (source "VirusChecker.brain")
  469.                     (dest @default-dest)
  470.                     (optional nofail askuser)
  471.                 )
  472.             )
  473.  
  474.             (
  475.                 (copylib (prompt #upd-brain)
  476.                     (help @copylib-help)
  477.                     (source "VirusChecker.brain")
  478.                     (dest @default-dest)
  479.                     (optional nofail askuser)
  480.                 )
  481.             )
  482.         )
  483.  
  484.         (P_setvcenv)
  485.  
  486.         (complete    100)
  487.  
  488.     )
  489. )
  490.  
  491. (if (= #vc-startup 2)
  492.     (exit)
  493.     (exit    #needtoreset)
  494. )
  495.